As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such multi-tenant resources and cloud computing. These technologies enable customers to access and/or utilize various types of electronic resources, physical or virtual, where the hardware and/or software used to provide these resources can be dynamically scalable to meet the needs of the multiple customers at any given time. A customer typically will rent, lease, or otherwise pay for access to these resources, and thus does not have to purchase and maintain the hardware and/or software to obtain the functionality provided by these resources.
In certain situations, a customer might want to create an instance, such as a compute instance or database instance, in such a multi-tenant environment. In order to provision such an instance, the customer typically has to specify values for a large number of parameters, such as may include an image to use for the instance and a type of machine to run the instance. The customer also might have to specify various credentials, security groups, placement groups, and various other options. It will often be the case, however, that the customer is not an expert in creating these instances and/or will not be aware of optimal parameters or values for a given system or environment at a given time. The customer often has to hire someone to configure the instances, or utilize instances with less than optimal performance, each of which can be undesirable for many customers. Further, a system administrator or other such person for a customer will want to ensure that the individual users or applications for the customer utilize the optimal parameters. Conventional systems do not enable a customer's administrator to easily and accurately specify and enforce the use of specific parameter values and ranges for various users and types of instance.